<html>
    <head>
        <title>规范化时间</title>
    </head>
    <body>
        <script>
            /*
                     三、DataTime  规范化


                        1、IColock.Normalize()

                                IClock的另一个重要功能是规范化DateTime对象。

                                eg：  

                                        DateTime dateTime = ...; // 从某处获取时间
                                        var normalizedDateTime = Clock.Normalize(dateTime)  // 规范化时间

                                Normalize方法的工作原理如下：

                                    如果当前时钟是UTC并且给定的DateTime是本地的，则将给定的DateTime转换为UTC（通过使用DateTime.ToUniversalTime()方法）。

                                    如果当前时钟是本地的并且给定的DateTime是UTC，则将给定的DateTime转换为本地的（通过使用DateTime.ToLocalTime()方法）。

                                    如果给定DateTime的Kind是Unspecified，则将给定DateTime的Kind（使用DateTime.SpecifyKind(...)方法）设置为当前时钟的Kind。
                            

                                Normalize方法由ABP 使用，当它得到一个不是有 IClock.Now 创建的DataTime 并且可能与单管始终类型不兼容时。

                                        eg：
                                            DateTime类型绑定在ASP.NETCore MVC模型绑定中。

                                            通过Entity Framework Core将数据保存到数据库并从数据库中读取数据。

                                            在JSON反序列化上使用DateTime对象。

                        2、[DisableDateTimeNormalization] 特性 (禁用规范化时间)

                                    DisableDateTimeNormalization 特性可用于禁用所需类或属性的规范化操作
                                
                */
        </script>
    </body>
</html>